import processing.core.PApplet;


public class RectangularButton extends View {
	private final int enabledColors[] = {24, 116, 205};
	private final int disabledColors[] = {115,111,111};
	private boolean enabled;
	private int id;
	private RectangularButtonDelegate delegate;
	private String caption;

	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	RectangularButton(float x_, float y_, float w_, float h_, MainView p, int pId) {
		super(x_, y_, w_, h_, p);
		
		enabled = true;
		caption = "";
		id = pId;
	}
	
	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	RectangularButton(float x_, float y_, float w_, float h_, MainView p) {
		this( x_, y_, w_, h_, p, 0);
	}
	
	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	void setDelegate( RectangularButtonDelegate pDelegate) { delegate = pDelegate;}
	
	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	void disable()
	{
		enabled = false;
	}
	
	void enable()
	{
		enabled = true;
	}
	
	boolean isEnabled() { return enabled; }

	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	void setId( int pId) { id = pId;}
	int getId()	{ return id;}
	
	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	void setCaption( String pCaption) { caption = pCaption;}
	String getCaption()	{ return caption;} 
	
	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	void drawContent()
	{
		
		int[] color = enabledColors;
		if( !enabled) color = disabledColors;
		parent.textSize(20);
		parent.fill(color[0],color[1],color[2]);
		parent.strokeWeight(2);
		parent.stroke(color[0],color[1],color[2]);
		parent.rect(0,0,w,h);
		parent.fill(255);
		parent.textAlign(PApplet.CENTER, PApplet.CENTER);
		parent.text(caption, w/2, h/2);
	}
	
	/*=============================================================================================
	 * 
	 *-------------------------------------------------------------------------------------------*/
	boolean contentPressed(float lx, float ly)
	{
		if( delegate != null && enabled) delegate.RectangularButtonPressed( id);
		return true;
	}

}
